Program Listing for File obstacle_ind_merge.h

Return to documentation for file (codes/cubicle_merge/obstacle_ind_merge.h)

/*******************************************************
 * Copyright (C) 2019, Robotics Group, Nanyang Technology University
 *
 * \file obstacle_ind_merge.h
 * \author Zhang Handuo (hzhang032@e.ntu.edu.sg)
 * \date Januarary 2017
 * \brief Process of merging individual objects into map database.
 *
 * Licensed under the GNU General Public License v3.0;
 * you may not use this file except in compliance with the License.
 *
 *******************************************************/

#ifndef PROJECT_MAP_MERGE_H
#define PROJECT_MAP_MERGE_H

#include <vector>
#include <tuple>
#include <Eigen/Dense>

#include "util.h"
#include <opencv2/opencv.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/imgproc/imgproc.hpp>
#include "map_element.h"
#include "tracked_obstacle.h"
#include "obstacle_merge.h"

class obstacle_ind_merge
{
public:
    explicit obstacle_ind_merge(Obstacle_merge *);

    bool isObsUpdated();

//    void clear();

    void ResetObsUpdated();

    bool isLaneUpdated();

    void ResetLaneUpdated();

//    void spatialMerge();

    void add(unsigned char sensor, MapElement* pMap, index_t ID);

    void add_lane(std::vector<Eigen::Vector3d>&);

    void add_curb(std::vector<Eigen::Vector3d>&);

//    void erase(unsigned char, MapElement*);

    void update_threshold(double);

//    std::map<index_t, MapElement *> mapDatabase;
//
//    std::map<index_t, MapElement *> mapDatabase_long;
//
//    std::map<index_t, MapElement *> mapDatabase_merge;

//    std::map<index_t, cv::Mat > mspDet_hog_long;

//    std::map<index_t, cv::Mat > mspDet_hog_wide;

protected:

    bool mbObsUpdated;
    bool mbCurbUpdated;
    bool mbLaneUpdated;

    double smooth;

    // obstacles merge
    Obstacle_merge *mpObstacle_merge;

    void vecToMat(const std::vector<float> &, cv::Mat &);

    template<typename T>
    T computeHOGHistogramDistances(
            const cv::Mat &, std::vector<cv::Mat> &,
            int = CV_COMP_BHATTACHARYYA);



private:





};












#endif //PROJECT_MAP_MERGE_H